package cn.wolfcode.trip.base.service;

import cn.wolfcode.trip.base.domain.FriendRelation;
import cn.wolfcode.trip.base.domain.User;
import cn.wolfcode.trip.base.query.QueryObject;
import cn.wolfcode.trip.base.query.UserQueryObject;
import com.github.pagehelper.PageInfo;

import java.util.Map;

public interface IUserService {
    /**
     * 用户注册
     * @param u
     */
    void regist(User u);

    /**
     * 用户登录
     * @param email
     * @param password
     * @return
     */
    User login(String email, String password);

    PageInfo<User> list(QueryObject qo);

    void update(User u);

    void addFriend(FriendRelation friendRelation);

    PageInfo listForFriend(UserQueryObject qo);

    PageInfo listApplyFriend(UserQueryObject qo);

    void acceptRelation(Long id, Long userId);

    String enshrineFunction(Long travelId, Long userId);

    void enshrineRelation(Long travelId, Long userId);

    User UserMessage(Long id);

    String attention(Long attentionId, Long id);

    void attentionState(Long attentionId, Long id);

    Map<String,Object> attentionNumber(Long id);

    Map<String,Object> fansNumber(Long id);

    Map<String,Object> FriendsNoticeNumber(Long id);

    Map<String,Object> commenteNumber(Long id);

    String likeFunction(Long travelId, Long id);

    void likeRelation(Long travelId, Long id);
}
